home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 14599 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.5 KB

  1. Path: news.spies.com!usenet
  2. From: Erik Max Francis <max@alcyone.com>
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: Typecasting a class?  Help!
  5. Date: Sun, 31 Mar 1996 20:58:49 -0800
  6. Organization: Alcyone Systems
  7. Message-ID: <315F6289.7D5D01B3@alcyone.com>
  8. References: <dkelly.828048898@maestro.inav.net>
  9. NNTP-Posting-Host: newton.alcyone.com
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.01 (X11; I; Linux 1.2.13 i486)
  14.  
  15. Dave Kelly wrote:
  16.  
  17. > Is there any way I can get an instance of MyInt to be seen as
  18. > and integer to printf without having to explicitly cast it as above?
  19.  
  20. No.  It's because printf (and similar variable-argument functions) do not make
  21. presumptions about their variable arguments (of which cInteger above is one),
  22. and therefore cannot know before-the-fact that you want to cast your MyInt
  23. object to an int object, thereby calling MyInt::operator int.
  24.  
  25. Your alternatives are either to not use a class, to cast it every time, or to
  26. use iostreams.  (This is the kind of reason iostreams were introduced, after
  27. all.)
  28.  
  29. -- 
  30. Erik Max Francis &tSftDotIotE && http://www.alcyone.com/max && max@alcyone.com
  31. San Jose, California, U.S.A. && 37 20 07 N 121 53 38 W && the 4th R is respect
  32. H.3`S,3,P,3$S,#$Q,C`Q,3,P,3$S,#$Q,3`Q,3,P,C$Q,#(Q.#`-"C`- && 1love && folasade
  33. Omnia quia sunt, lumina sunt. && Dominion, GIGO, GOOGOL, Omega, Psi, Strategem
  34. "Out from his breast/his soul went to seek/the doom of the just." -- _Beowulf_
  35.